A Japanese word-processor requires input characters to be converted into a different character set. The Japanese language consists of three different character sets. One character set is known as Kana, and another is known as Kanji. The third set is not pertinent for this application. Kana characters are phonetic symbols, while Kanji characters are hieroglyphic and represent entire words or phrases. A string of Kana characters may be phonetically equivalent to a fewer number of Kanji characters. For a single set of Kana characters, it is possible to convert it into more than one set of Kanji characters. That is, different Kanji characters may have the same pronunciation with different meanings.
Japanese writing requires both Kana and Kanji characters. The appropriate Kanji symbol must replace certain combinations of Kana characters. Using a Japanese word processor, a user inputs Kana characters into a computer via a Kana-labeled keyboard. A Kana-to-Kanji conversion program generally displays the Kana characters input then is intermediate conversion result which are possible Kanji characters for substitution. The user selects the appropriate Kanji characters from the displayed candidates. The selected characters are then substituted into the input string by the Kana-to-Kanji conversion program before the input string is output to the applications software. Such a Kana-to-Kanji converter is well known in the prior art.
Some Kana-to-Kanji conversion programs provide in-place conversions. The input string and intermediate conversion appear at the input cursor position. When the substitution is made, the selected Kanji characters are inserted at this cursor position. In-place conversions have an advantage over other conversion methods which provide a separate conversion line to display the input string and intermediate results because the user can focus only on the cursor position rather than both conversion line and cursor position.
Development of a Kana-to-Kanji conversion program requires considerable technical expertise and labor. In implementing a Japanese text-oriented applications program, it is desirable to separate the Kana-to-Kanji conversion program from the applications program, rather than embedding the Kana-to-Kanji conversion program in the applications program. One advantage of separation is that it becomes easier to separately develop the two programs. With a well-defined interface between the conversion program and the applications program, it is possible to reuse the conversion program or one can modify either the applications program or the conversion program without affecting the other program. Such independence allows the user to choose any Kana-to-Kanji conversion programs available in the market with which he feels comfortable. He can even develop one to obtain more sophisticated man-machine interface for Kana-to-Kanji conversion without modifying the applications program itself.
Many work station-based applications programs run in a multi-window environment to provide a favorable man-machine interface. However, it is not easy to perform the in-place conversion in a multi-window-based applications program. When in-place conversion takes place, the Kana-to-Kanji conversion program must know the input cursor position of the applications program in order to open an overlapping conversion window at the cursor position and to display the phonetic expression and its intermediate conversion results as if the applications program did it. Commonly available multi-window systems do not provide a means for a conversion program to directly acquire the cursor position in the application program's window. In order to solve this problem, the structures shown in FIGS. 1 (A) and 1 (B) have been employed in the prior art.
One modular arrangement in the prior art shown in FIG. 1 (A) has the applications program module, the user interface module, and the Kana-to-Kanji conversion module. Since the conversion module is a part of the applications program, the current cursor position is readily available to the conversion module.
An example shown in FIG. 1 (B) in the prior art separates only the Kana-to-Kanji conversion module from the applications program, but combines user interface as an integral part of the applications program. This is rather straightforward because the Kana-to-Kanji conversion algorithm performed in the Kana-to-Kanji conversion module shown in FIG. 1 (B) does not require the information on the cursor position. Although this modular arrangement 1 (B) has an advantage over FIG. 1 (A) in that the Kana-to-Kanji conversion program can be reused, the user interface, which would require considerable labor, has to be rewritten for each new applications program. Because the user interfaces are usually different for each language, for example Japanese and Korean, the structure of FIG. 1(B) wherein the user interface is buried in the body of the applications program will be a bar to implementing the language-independent applications program. In addition, it is more difficult to change the Kana-to-Kanji conversion programs, since the changes affect the user interfaces.